$(function(){
 //设置登录背景随机
 //var rand=Math.floor(Math.random() * 5)+1;
$('body').css('background','#DDDDDD')
         .css('background-size','100%');
 
 $('#login input[type="submit"]').button();
 
//  注册的loading提示
 $('#loading').dialog({
         autoOpen : false, 
         modal : true,
         closeOnEscape : false,     //注册是的loading 提示
         resizable : false,
         draggable :  false,
         width : 150,
         height : 50
      }).parent().parent().find('.ui-widget-header').hide();
      
 //登录后操作 提示
   $('#error').dialog({
         autoOpen : false, 
         modal : true,
         closeOnEscape : false,     //注册是的loading 提示
         resizable : false,
         draggable :  false,
         width : 150,
         height : 50
      }).parent().parent().find('.ui-widget-header').hide();
      
      
//验证码弹出    
 $('#verify').dialog({
     autoOpen : false,    //默认为隐藏状态
     width : 300,
     height : 300,
     title : '请输入验证码',
     modal :true ,
     resizable : false,
     closeText : '关闭',
     buttons : [{
         text : '完成',
         click : function(e){
             $(this).submit();
         }
     }],
     close :  function(e){
         $('#register').dialog('widget').find('button').eq(1).button('enable');
     }
 }).validate({
    submitHandler  :function(form){
    if($('#verify').attr('form-click') === 'register'){
     $('#register').ajaxSubmit({       // ajax 提交
            url : ''+Think.LOGIN+'checkRegister',
            type : 'POST',
            data : {
                verify  : $('#verify_text').val()
            },
            dataType : 'json',
            beforeSubmit : function(formData,jqForm,options){
                      $('#loading').dialog('open');  //提交后 开启loading提示
                      $('#register').dialog('widget').find('button').eq(1).button('disable'); //防止多次点击提交  当提交后禁用button 
                      $('#verify').dialog('widget').find('button').eq(1).button('disable');
            },
            success : function(responseText){
                if(responseText.flag === true){
                        $('#register').dialog('widget').find('button').eq(1).button('enable');  //启用button 
                        $('#verify').dialog('widget').find('button').eq(1).button('enable');
                        $('#loading').html('注册成功!');
                        // $.cookie('user',$('#user').val());
                        setTimeout(function(){ 
                            if(verifyimg.indexOf('?')>0){
                                 $('.verifyimg').attr('src',verifyimg + '&random=' + Math.random()); 
                             } else{
                                 $('.verifyimg').attr('src',verifyimg + '?random=' + Math.random());   
                             }
                         $('#register').dialog('close');        //退出reg  
                         $('#verify').dialog('close');
                         $('#loading').dialog('close');    //退出loading
                         $('#register').resetForm(); 
                         $('#verify').resetForm();//清理form中的数据
                         $(' span.star').html('★').removeClass('succ');
                       //$('#loading').html('数据交互中...');  
                        },1000);                           //一秒后自动关闭
                       // $('#member').html($.cookie('user'));  
               };
           } 
       });  
       }else if($('#verify').attr('form-click') === 'login'){
              
                $('#login').ajaxSubmit({
                  url : ''+Think.LOGIN+'checkLogin',
                  type : 'POST',
                  dataType : 'json',
                  beforeSubmit : function(formData,jqForm,options){
                            $('#loading').dialog('open');  //提交后 开启loading提示
                  },
                 success : function(response){
                      if(response.flag===true){
                             $('#loading').html('登录成功!'); 
                         setTimeout(function(){  
                             $('#loading').dialog('close');
                             location.href=''+Think.INDEX+'index';
                         },1000);  
                      }else{
                           $('#loading').dialog('option','width','200').html('账号或密码不正确!');
                           $('#verify').dialog('close');
                           $('#verify').resetForm();
                         setTimeout(function(){  
                             if(verifyimg.indexOf('?')>0){
                                 $('.verifyimg').attr('src',verifyimg + '&random=' + Math.random()); 
                             } else{
                                 $('.verifyimg').attr('src',verifyimg + '?random=' + Math.random());   
                             }
                             $('#loading').dialog('close');
                         },1000);  
                      }
                 }
             });     
             }
           },
         highlight : function(element,errorClass){
                     $(element).css('border','1px solid red');
                     $(element).parent().find('span').html('★').removeClass('succ');

           },                                                 //设置错误边框  正确后恢复          
         unhighlight : function(element,errorClass){
                     $(element).css('border','1px solid #ccc');
                     $(element).parent().find('span').html('&nbsp;').addClass('succ');
           },       
               errorLabelContainer : 'ol.verify_error', //将错误提示显示在上面
               wrapper :'li', 
               showErrors : function(errorMap,errorList){ //可以自定义错误信息 在那显示
                   this.defaultShowErrors();              //默认系统显示的地方
                  var  errors =this.numberOfInvalids();  
                  if(errors > 0){                        //设定错误信息高度
                      $('#verify').dialog('option','height',errors * 20 + 300);
                  }else{
                      $('#verify').dialog('option','height',300); 
            }
         },rules : {
             verify : {
               required : true ,
                remote : {                 //判断用户名是否存在
                url : ''+Think.LOGIN+'checkVerify',
                type : 'POST'
               }
             }
         },messages :  {
             verify : {
               required  : '验证码不能为空!',
                 remote  :  '验证码不正确!'
             }
         }   
 });
 
 
//点击更换验证码
 var verifyimg = $('.verifyimg').attr('src');
 $('.changeimg').click(function(){
    if(verifyimg.indexOf('?')>0){
        $('.verifyimg').attr('src',verifyimg + '&random=' + Math.random()); 
    } else{
        $('.verifyimg').attr('src',verifyimg + '?random=' + Math.random());   
    }
 });
//注册
 $('#register').dialog({
     autoOpen : false,    //默认为隐藏状态
     width : 450,
     height : 385,
     title : '注册新用户',
     modal :true ,
     resizable : false,
     closeText : '关闭',
     buttons : [{
         text : '提交',
         click : function(e){
             $(this).submit();
         }
     }]
 }).validate({
     submitHandler  :function(form){    //阻止默认行为 提交
         $('#register').dialog('widget').find('button').eq(1).button('disable');
         $('#verify').attr('form-click','register');
         $('#verify').dialog('open');
    },
     highlight : function(element,errorClass){
               $(element).css('border','1px solid red');
               $(element).parent().find('span').html('★').removeClass('succ');
               
     },                                                 //设置错误边框  正确后恢复          
     unhighlight : function(element,errorClass){
               $(element).css('border','1px solid #ccc');
               $(element).parent().find('span').html('&nbsp;').addClass('succ');
     },       
         errorLabelContainer : 'ol.reg_error', //将错误提示显示在上面
         wrapper :'li', 
         showErrors : function(errorMap,errorList){ //可以自定义错误信息 在那显示
             this.defaultShowErrors();              //默认系统显示的地方
            var  errors =this.numberOfInvalids();  
            if(errors > 0){                        //设定错误信息高度
                $('#register').dialog('option','height',errors * 20 + 370);
            }else{
                $('#register').dialog('option','height',370); 
            }
         },
      rules : {
         user : {
            required : true ,
            minlength : 2 ,
            maxlength : 20,
            inAt : true,
            remote : {                 //判断用户名是否存在
             url : ''+Think.LOGIN+'checkUser',
             type : 'POST'
            }
         },
         password : {
            required : true ,
            minlength : 6 ,
            maxlength : 20
         }, 
         repassword : {
            required : true ,
            equalTo : '#password'
         },
         email :  {
            required : true ,
            email : true,
          remote : {                 //判断电子邮件是否存在
                url :''+Think.LOGIN+'checkEmail',
                type : 'POST'
            }
         }
      },
      messages : {
         user : {
            required : '账号不得为空!',
            minlength : jQuery .validator.format ('账号不能小于{0}位!'),
            maxlength : jQuery .validator.format ('账号不能大于{0}位!'),
            inAt : '账号不能有@符',
            remote : '用户名以存在!'
         },
         password : {
            required : '密码不得为空!',
            minlength : jQuery .validator.format ('密码不能小于{0}位!'),
            maxlength : jQuery .validator.format ('密码不能大于{0}位!') 
         },
        repassword : {
            required : '密码确认不得为空!',
            equalTo : '密码不一致!'
         },
        email : {
             required : '密码不得为空!',
             email :  '电子邮箱格式不正确!' ,
             remote : '电子邮件以存在!'
        }
    }
 });
 
//点击注册后弹出
 $('#reg-link').click(function(){
     $('#register').dialog('open');
 });
 
//邮箱补全
 $('#email').autocomplete({ 
       delay : 0,
       autoFocus : true, 
   source : function (request, response){
         var hosts = ['qq.com','163.com', '263.com', 'gmail.com','sina.com.cn', 'hotmail.com'], 
             term = request.term,
             name = term,
             host = '',
             ix = term.indexOf('@'),
             result = [];
     result.push(term); 
       if (ix > -1) {  
           name = term.slice(0, ix);
           host = term.slice(ix + 1);
       }
       if (name) {  
            var findedHosts = (host ? $.grep(hosts, function (value, index) {
                return value.indexOf(host) > -1;  
            }) : hosts),
          findedResults = $.map(findedHosts, function (value, index) { 
           return name + '@' + value;                           
          });
          result = result.concat(findedResults); 
         }       
         response(result);    
 }  
}); 
   
//自定义 不能包含@ 
  $.validator.addMethod('inAt',function(value , element){
     var text = /^[^@]+$/i ;
     return this.optional(element)  || (text.test(value));
   },'存在@符');
   
//登录
   $('#login').validate({
        submitHandler :  function(form){
         $('#verify').attr('form-click','login');
         $('#verify').dialog('open');
  },
  showErrors : function(errorMap,errorList){ //可以自定义错误信息 在那显示
             this.defaultShowErrors();              //默认系统显示的地方
            var  errors =this.numberOfInvalids();  
            if(errors > 0){                        //设定错误信息高度
                $('#verify').dialog('option','height',errors * 20 + 300);
            }else{
                $('#verify').dialog('option','height',300); 
            }
  },
   rules : {
         log_user : {
            required : true ,
            minlength : 2 ,
            maxlength : 20
         },
         log_password : {
            required : true ,
            minlength : 6 ,
            maxlength : 20
         }
      },
  messages  : {
          log_user  :{
            required : '账号不得为空!',
            minlength : jQuery .validator.format ('账号不能小于{0}位!'),
            maxlength : jQuery .validator.format ('账号不能大于{0}位!')  
          },
          log_password : {
            required : '密码不得为空!',
            minlength : jQuery .validator.format ('密码不能小于{0}位!'),
            maxlength : jQuery .validator.format ('密码不能大于{0}位!') 
         }
 }
});
});


  
 
